var api = require('../../../utils/api.js')
var $ = require('../../../utils/util.js')
var regeneratorRuntime = require('../../../utils/runtime.js')
var app = getApp()
var Store = app.Store
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isFocus: false, //是否获取文本框的焦点
    isShowTextarea: false, //是否显示文本框
    isFocus1: false, //是否获取文本框的焦点
    isShowTextarea1: false, //是否显示文本框
    isFocus2: false, //是否获取文本框的焦点
    isShowTextarea2: false, //是否显示文本框


    //弹窗相关
    isShowPicker1:false,//是否停电弹窗
    isShowPicker2:false,//是否动火弹窗
    isShowTimeStart:false,//是否弹出开始时间  
    isShowTimeEnd:false,//是否弹出结束时间
    pinkColumns:[ { type: 1, text: '是' },{ type: 0, text: '否' },],

    //添加的字段
    deptId:"",// 关联设备树id
    deptName:"",
    projectName:"",//  项目名称
    enterpriseUser:"",//  企业用户
    enterprisePhone:"",//  企业联系方式
    constructionUnit:"",//  施工单位
    constructionPhone:"",//  施工联系方式
    itemManager:"",//  项目经理
    itemPhone:"",//  项目联系方式
    itemAddress:"",//  项目地址
    constructionRange:"",//  施工范围
    workUser:"",//  工作人员
    outsourceUnit:"",//  外协单位
    outsourceUser:"",//  外协人员
    outsourceWay:"",//  外协方式
    powerCut:0,//  是否停电
    userFire:0,//  是否动火
    planStartTime:"",//  项目计划开始时间（增加时候填写，后面不能修改）
    planEndTime:"",//  项目计划结束时间（增加时候填写，后面不能修改）
    projectRemark:"",//  项目备注
    noticeMatter:"",// 注意事项
    projectRemark:"",// 项目备注
    projectState:0,// 项目状态
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
  var form = Store.getState().formInfor.form
    var key = form.key 
    if (!form.selected) return
    switch (key) {
      case 'selectEnterprise': // 获取企业信息  
        this.setData({
          deptName: form.selected.dept_name, 
          deptId: form.selected.dept_id,
        })
        break;
    }
  },
  add(){
    if($.isNull(this.data.deptId)){
        $.toast('请选择所属企业');
    }else if($.isNull(this.data.projectName)){
        $.toast('请填写项目名称');
    }else if($.isNull(this.data.enterpriseUser)){
      $.toast('请填写企业用');
    }else if($.isNull(this.data.enterprisePhone)){
      $.toast('请填写企业联系方式');
    }else if($.isNull(this.data.itemAddress)){
      $.toast('请填写项目地址');
    }else if($.isNull(this.data.constructionUnit)){
      $.toast('请填写施工单位');
    }else if($.isNull(this.data.constructionPhone)){
      $.toast('请填写施工联系方式');
    }else if($.isNull(this.data.itemManager)){
      $.toast('请填写项目经理名称');
    }else if($.isNull(this.data.itemPhone)){
      $.toast('请填写项目联系方式');
    }else if($.isNull(this.data.workUser)){
      $.toast('请填写工作人员');
    }else if($.isNull(this.data.planStartTime)){
      $.toast('请填写计划开始时间');
    }else if($.isNull(this.data.planEndTime)){
      $.toast('请填写计划结束时间');
    }else if($.isNull(this.data.constructionRange)){
      $.toast('请填写施工范围');
    }else{
        var params={
          deptId:this.data.deptId,// 关联设备树id
          deptName:this.data.deptName,
          projectName:this.data.projectName,//  项目名称
          enterpriseUser:this.data.enterpriseUser,//  企业用户
          enterprisePhone:this.data.enterprisePhone,//  企业联系方式
          constructionUnit:this.data.constructionUnit,//  施工单位
          constructionPhone:this.data.constructionPhone,//  施工联系方式
          itemManager:this.data.itemManager,//  项目经理
          itemPhone:this.data.itemPhone,//  项目联系方式
          itemAddress:this.data.itemAddress,//  项目地址
          constructionRange:this.data.constructionRange,//  施工范围
          workUser:this.data.workUser,//  工作人员
          outsourceUnit:this.data.outsourceUnit,//  外协单位
          outsourceUser:this.data.outsourceUser,//  外协人员
          outsourceWay:this.data.outsourceWay,//  外协方式
          powerCut:this.data.powerCut,//  是否停电
          userFire:this.data.userFire,//  是否动火
          planStartTime:this.data.planStartTime,//  项目计划开始时间（增加时候填写，后面不能修改）
          planEndTime:this.data.planEndTime,//  项目计划结束时间（增加时候填写，后面不能修改）
          projectRemark:this.data.projectRemark,//  项目备注
          noticeMatter:this.data.noticeMatter,// 注意事项
          projectRemark:this.data.projectRemark,// 项目备注
          projectState:this.data.projectState,// 项目状态
        };
        console.log(params);
        api.$post(api.projectManage.addProject,params).then((res)=>{
          $.toast("新增成功");
          setTimeout(function(){
            $.linkurl("","back");
          },1500)
        })
    }
  },
  selectEnterprise() { // 公司 
    Store.dispatch({
      type: 'SET_FROM',
      form: {
        key: 'selectEnterprise', // 后台要的更改字段 
        type: 1, // 表单类型 1： radio  2：select
        config: {
          
        },
      },
    })

    $.linkurl(`/pages/main/chooseForm/chooseForm`)
  },



  getRepairerCompanyHandle(e) { // 选抢修负责人或者抢修人员
    var {type} = $.detail(e)
    var dept_id=this.data.equip!=''?this.data.equip_id!=''?this.data.equip_id:this.data.dept_id:this.data.dept_id;
    Store.dispatch({
      type: 'SET_FROM',
      form: {
        key: 'getRepairer', // 后台要的更改字段
        type: 1, // 表单类型 1： radio  2：select
        config: {
          type,  // 1 获取负责人；2获取人员；3缺陷发现人
          dept_id
        }, // 其他配置信息
      },
    })
    $.linkurl(`/pages/main/chooseForm/chooseForm`)
  },
  async selectYcxlmHandle (e) { // 根据厂站获取设备列表 
    console.log(this.data.factory_id)
        if(!$.isNull(this.data.type) && this.data.type!=0){
          $.toast("该内容无法修改");
          return;
        }
        if (this.data.factory == '') {
          $.toast('请选择厂站')
        } else {
          var res = await app._selectStation({ dept_id: this.data.company_id, company: this.data.company })
          var result = res.data.find((item) => {
            return item.dept_name == this.data.factory
          }) 
          var { type } = $.detail(e)
          Store.dispatch({
            type: 'SET_FROM',
            form: {
              key: 'selectYcxlm', // 后台要的更改字段 
              type: 1, // 表单类型 1： radio  2：select
              config: {
                station: !$.isNull(result)?result.station:this.data.factory_id
              },
            },
          })
          $.linkurl(`/pages/main/chooseForm/chooseForm`)
        } 
      
  },
    //##input 输入##
    input_handle(e) {
      this.setData({
        [e.currentTarget.dataset.key]: e.detail.value
      })
    },
    //##input 输入##
  startTimeHandle(){//开始时间弹窗
    this.setData({
      isShowTimeStart:true 
    })
  },
  endTimeHandle(){//结束时间弹窗
      this,this.setData({
        isShowTimeEnd:true
      })
  },
  pickerHandle1(){//是否停电弹窗
      this.setData({
        isShowPicker1:true
      })
  },
  pickerHandle2(){//是否动火弹窗
    this.setData({
      isShowPicker2:true
    })
},
  timeConfirmHandle(e){
    var { time, key } = e.detail
    this.setData({
      [key]: time
    })

    if(!$.isNull(this.data.planStartTime) && ! $.isNull(this.data.planEndTime)){
          var startTime= new Date(Date.parse(this.data.planStartTime));
          var endTime=new Date(Date.parse(this.data.planEndTime));
          if(startTime>=endTime){
              $.toast('开始时间不能大于结束时间')
              this.setData({
                [key]: ''
              })
          }
    }
  },
  pickerConfirmHandle(e){
      var { value, key, index } = e.detail
      this.setData({
        [key]: value.type
      })
  },
  textarea_blur_handle() { //解决textarea placeholder 层级过高的bug 微信好坑
    this.setData({
      isFocus: false,
      isShowTextarea: false
    })
  },  
  textarea_blur_handle1() { //解决textarea placeholder 层级过高的bug 微信好坑
    this.setData({
      isFocus1: false,
      isShowTextarea1: false
    })
  },
  textarea_blur_handle2() { //解决textarea placeholder 层级过高的bug 微信好坑
    this.setData({
      isFocus2: false,
      isShowTextarea2: false
    })
  },
  toFocusHandle() { //解决textarea placeholder 层级过高的bug 微信好坑 
    this.setData({
      isShowTextarea: true
    })
    setTimeout(() => {
      this.setData({
        isFocus: true
      })
    }, 100)
  },
  toFocusHandle1() { //解决textarea placeholder 层级过高的bug 微信好坑 
    this.setData({
      isShowTextarea1: true
    })
    setTimeout(() => {
      this.setData({
        isFocus1: true
      })
    }, 100)
  },
  toFocusHandle2() { //解决textarea placeholder 层级过高的bug 微信好坑 
    this.setData({
      isShowTextarea2: true
    })
    setTimeout(() => {
      this.setData({
        isFocus2: true
      })
    }, 100)
  },
})